package cn.controlsys.common.mq.interfaces;


import cn.controlsys.common.mq.object.DetailResponse;
import org.springframework.amqp.rabbit.core.RabbitTemplate;

/**
 * Author: shanzheng <br/>
 * Description: 消息发送接口<br/>
 * Date： 14:39 2018/1/26.<br/>
 * Modified By: <br/>
 */
public interface MessageSender {
    /**
     * Description: 发送消息
     * @param message 内容
     * @author: shanzheng
     * @date: 14:41 2018/1/26
     * @return: cn.controlsys.job.common.mq.mould.DetailResponse
     */
    DetailResponse send(Object message);
    /**
     * Description: 发送消息
     * @param message 内容
     * @param messageId 消息id
     * @author: shanzheng
     * @date: 14:41 2018/1/26
     * @return: cn.controlsys.job.common.mq.mould.DetailResponse
     */
    DetailResponse send(String messageId, byte[] message);

    /**
     * Description: 发送消息
     * @param message 内容
     * @author: shanzheng
     * @date: 14:41 2018/1/26
     * @return: cn.controlsys.job.common.mq.mould.DetailResponse
     */
    DetailResponse send(byte[] message);

    RabbitTemplate getTemplate();
}
